home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / AMIGA / (A)TC / (A)TCA.ADF / hlplusdemo / Documentation / userman.doc < prev    next >
Text File  |  1992-07-04  |  39KB  |  1,041 lines

  1. HAMLAB PLUS 2.0.6
  2. USER'S MANUAL
  3.  
  4. (c) Copyright 1990-1992 J. E. Hanway
  5. All rights reserved.
  6.  
  7. IN THIS DOCUMENT:
  8.  
  9. SETUP
  10.         SYSTEM REQUIREMENTS
  11.         INSTALLATION
  12.         CONFIGURATION
  13.         ADDING NEW FILTERS AND EXPORTERS
  14.  
  15. QUICK START
  16.  
  17. USER INTERFACE REFERENCE
  18.         COMMAND LINE OPTIONS
  19.         ENVIRONMENT VARIABLE
  20.         WORKBENCH TOOLTYPES
  21.         THE MAIN WINDOW
  22.         THE ABOUT WINDOW
  23.         THE CONFIGURATION WINDOW
  24.         THE COLOR CONTROL WINDOW
  25.         THE OUTPUT MODE WINDOW
  26.         THE AREXX CONSOLE
  27.         AREXX FUNCTION KEYS
  28.  
  29. THE HAMLAB PLUS PIPELINE AND CACHES
  30.  
  31.  
  32. SETUP
  33.  
  34. SYSTEM REQUIREMENTS
  35.  
  36. HAMLAB PLUS runs on any Amiga, under either release 1.3 or 2.0 of the
  37. Amiga operating system.  At least 1 meg of RAM is required.
  38.  
  39. For full functionality, HAMLAB PLUS requires EITHER
  40.  
  41.         AmigaOS Release 2
  42. OR
  43.         AmigaOS 1.3 and the ARP library.
  44.  
  45. If you have neither the ARP library nor Release 2, you can still run
  46. HAMLAB PLUS, with two limitations:
  47.  
  48.         It will only have a poor excuse for a file requester.
  49.  
  50.         HAMLAB 1.x input filters cannot be used.
  51.  
  52. In any case, only the ARP library itself (LIBS:arp.library) is
  53. used.  The ARP commands in C: do not need to be installed.  ARP
  54. is not required for operation under AmigaOS Release 2.
  55.  
  56. In order to use HAMLAB 1.x input filters, HAMLAB PLUS requires the
  57. AmigaDOS PIPE: device.  Different versions of PIPE: are supplied with
  58. 1.3 and 2.0.  If you encounter problems, check your DEVS:mountlist
  59. file to make sure that the correct version is used.  The 1.3 PIPE:
  60. entry should reference "l:pipe-handler" while the 2.0 entry should
  61. reference "l:queue-handler"
  62.  
  63. INSTALLATION
  64.  
  65. Installing a working copy of HAMLAB PLUS on your disk:
  66.  
  67. 1. Decide where you'd like to install HAMLAB PLUS, creating
  68.    a new drawer if necessary.
  69.  
  70. 2. Copy the following from the original HAMLAB PLUS disk to the drawer
  71.    that you chose in the last step. (Just drag icons in the Workbench,
  72.    or use the CLI.)
  73.  
  74.         The "HamLabPlus" program.
  75.  
  76.         The "HamLab.config" file. (*)
  77.  
  78.         The "Filters" drawer.   (This contains filters and exporters.)
  79.  
  80.         The "Curves" drawer.    (This contains color response curves.)
  81.  
  82.         (*) If you intend to run HAMLAB PLUS only from the Workbench,
  83.         just place the HamLab.config icon in the same drawer as the
  84.         program.  Otherwise, move it to either the S: or the DEVS:
  85.         directory.
  86.  
  87. 3. (optional) Copy the following, if you wish:
  88.  
  89.         The "Documentation" drawer.
  90.  
  91.         The "Rexx" drawer. (This contains example AREXX scripts.
  92.         To use them, they must be copied to the directory where
  93.         REXX: is assigned.)
  94.  
  95. 4. Run the HAMLAB PLUS copy you just made.  A "HamLab Config Problem"
  96.    requester may be displayed.  If so, just click the "Ok" button
  97.    until the main window appears.
  98.  
  99. 5. Click the "Configuration..." button to open the Config window.
  100.  
  101. 6. In the "Filter Path" line, enter the full path name of the
  102.    filters drawer.
  103.  
  104. 7. Drag the Config window to the upper left corner of the screen.
  105.    This will prevent it from opening every time you run the program.
  106.  
  107. 8. Click the "Save All" button.  This will display a file requester
  108.    with the name of your default config file filled in.  Confirm the
  109.    save.
  110.  
  111. 9. Close the main window to exit the program.
  112.  
  113. 10.Run HAMLAB PLUS again.  This time the "Config Problem" requester
  114.    should not appear.  If it does, double check the "Filter Path"
  115.    entry and make sure that the config file is being saved in the
  116.    correct directory.
  117.  
  118. Installing other files:
  119.  
  120. ARP library
  121.  
  122. The ARP library is not used if you are running AmigaOS Release 2.
  123.  
  124. If you are running AmigaOS 1.3 and don't have ARP, copy
  125. arp.library from the libs directory of the HAMLAB PLUS disk to
  126. the LIBS: directory of your boot disk.  If you obtained HAMLAB
  127. PLUS as a demo version from a source of freely distributable
  128. software, look there for ARP version 1.3.
  129.  
  130. PIPE: device
  131.  
  132. The PIPE: device is supplied as a standard part of both 1.3 and 2.0.
  133. So unless you've explicitly taken it out of your system, you already
  134. have it.  If you need to replace it, you'll have to go back to
  135. your original AmigaDOS disks to get the correct entry for
  136. DEVS:mountlist, plus the proper handler file for the L: directory.
  137. For 1.3, the handler is named "pipe-handler" and for 2.0 it is named
  138. "queue-handler".
  139.  
  140. Finally, somewhere in your s:startup-sequence or user-startup, you
  141. should have a "mount PIPE:" command.
  142.  
  143.  
  144. CONFIGURATION
  145.  
  146. When HAMLAB PLUS is run, it loads its configuration information from
  147. a "config file."  The config file is named "HamLab.config" and
  148. HAMLAB PLUS will look for it in the following places, in order:
  149.  
  150.         the current directory
  151.         S:
  152.         DEVS:
  153.  
  154. The config file contains the following types of information:
  155.  
  156.         Directory names where HAMLAB PLUS creates or looks for files
  157.         (filter programs and temporary files, for example)
  158.  
  159.         Information about filter and exporter programs that are
  160.         installed.
  161.  
  162.         Positions for all HAMLAB PLUS windows, and/or whether they
  163.         should open when the program is started.
  164.  
  165.         How much memory and/or disk space HAMLAB PLUS can use.
  166.  
  167.         Initial selections for all settings (resolution, size,
  168.         dithering, etc.).
  169.  
  170. When first installing HAMLAB PLUS, the most important things to get
  171. configured correctly are the filters.  Without them, HAMLAB PLUS
  172. is unable to read any images.  Once you have followed the installation
  173. instructions, the config file will be updated so that filters will be
  174. found in the correct directory and will be known to HAMLAB PLUS.
  175. Later, you'll probably want to tailor its memory and disk usage to
  176. your system.  See the section on caches for more information.
  177.  
  178. The config file is a text file that can be customized with a text
  179. editor, but editing it by hand isn't required.  The easiest way to
  180. create or update a config file is to run HAMLAB PLUS, set everything
  181. up the way you like it, and select either "Save" or "Save All" in the
  182. configuration window.
  183.  
  184. "Save" saves only settings that correspond to different types of
  185. images (resolution, dithering, etc.). For example, you may have one
  186. group of settings for hi-res images,  and another for low-res ones.
  187. "Save All" saves all settings (except cropping, which is always reset
  188. for each picture) and is suitable for creating or updating your master
  189. HamLab.config file.
  190.  
  191. Of course, you can create config files by hand that have any number of
  192. settings in them.  See the separate document "cmd-ref.doc" for more
  193. details on the config file format.
  194.  
  195. ADDING NEW FILTERS AND EXPORTERS
  196.  
  197. From time to time new filters and exports may be released for HAMLAB
  198. PLUS.  In order to use a new filter, you must first update the
  199. HamLab.config file so that HAMLAB PLUS knows about it.  Perform the
  200. following steps to do so:
  201.  
  202. 1. Copy the new filter to the HamLab filters directory. (If you
  203.    followed the standard installation, the filters directory should
  204.    be a drawer named "Filters")
  205.  
  206. 2. Run HAMLAB PLUS and bring up the Configuration window.
  207.  
  208. 3. Select "Scan Filters."  This will test every program in the
  209.    filters directory to see if it is a filter or exporter and, if
  210.    it is, what its characteristics are.
  211.  
  212. 4. When the scanning process completes, move the config window to
  213.    the upper left corner of the screen (to prevent its position
  214.    from being saved) and select "Save All."
  215.  
  216. QUICK START
  217.  
  218. HAMLAB PLUS can be started from the CLI or by double-clicking its
  219. Workbench icon.  The six large buttons at the bottom of the main
  220. window control the major functions of HAMLAB PLUS.
  221.  
  222. OPEN an image to begin working on it.  This will attempt to identify
  223. it, and read enough of it to determine its size.  Once opened, you can
  224. adjust HAMLAB PLUS's settings and execute one or more of the three
  225. main functions as follows.
  226.  
  227. EXPORT reads the image, converts it to 24 bits, crops, scales, and
  228. color corrects it, then saves it in a 24-bit format.  Hitting the
  229. EXPORT button displays a list of formats that can be exported.
  230.  
  231. DISPLAY reads the image, converts it to 24 bits, crops, scales, color
  232. corrects it, then reduces it to a displayable format and displays the
  233. image on the screen.  The displayable format can be controlled by
  234. bringing up the Output Mode window with the "Change Output Mode..."
  235. button and changing the settings before hitting DISPLAY or SAVE.
  236.  
  237. SAVE reads the image, converts it to 24 bits, crops, scales, color
  238. corrects it, then reduces it to a displayable format and saves it as
  239. an IFF file.
  240.  
  241. The remaining main buttons do the following:
  242.  
  243. REVERT resets all settings to what they were for the last EXPORT,
  244. DISPLAY, or SAVE operation you attempted.
  245.  
  246. CLEAR unloads the current image and frees any temporary memory or
  247. disk space associated with it.
  248.  
  249. Other windows:
  250.  
  251. The Output window lets you change the mode used to display and save
  252. images.
  253.  
  254. The Color Control window lets you adjust "color response curves" used
  255. by HAMLAB PLUS for color correction.  You can modify the curves by
  256. drawing them by hand, or use the controls for brightness, contrast,
  257. and gamma.
  258.  
  259. The Configuration window lets you change some basic features of how
  260. HAMLAB PLUS operates, such as how much and what kind of storage is
  261. used for temporary data.
  262.  
  263. USER INTERFACE REFERENCE
  264.  
  265. COMMAND LINE OPTIONS
  266.  
  267. HamLab Plus understands the following command line options: (You don't
  268. have to enter them in upper case.)
  269.  
  270.         PORTNAME <name>
  271.  
  272.         Sets the base name for HAMLAB PLUS's AREXX port.  The default
  273.         is HAMLAB, and HAMLAB PLUS will add a suffix to that so that
  274.         the first copy of HAMLAB PLUS running will have a port named
  275.         HAMLAB.1, the second will be HAMLAB.2, and so on.  This name
  276.         is also used for HAMLAB PLUS's public screen, if you tell it
  277.         to make one (see below).
  278.  
  279.         SETTINGS <filename>
  280.  
  281.         Specifies the filename of a HAMLAB PLUS config file to be read
  282.         in after the default config file.  Note that this is read
  283.         in addition to--not instead of--the default config file.
  284.  
  285.         STARTUP <filename>
  286.  
  287.         Specifies the filename of an AREXX script to be run whenever
  288.         HAMLAB PLUS starts up.
  289.  
  290.         PUBSCREEN <screenname>
  291.  
  292.         (AmigaOS Release 2 only)
  293.         Specifies the name of a public screen where HAMLAB PLUS will
  294.         open its windows.  The public screen must already be open.
  295.         By default HAMLAB PLUS uses the Workbench screen.
  296.  
  297.         SCREEN  <screentype>
  298.  
  299.         Forces HAMLAB PLUS to open a new screen for its windows.
  300.         <screentype> is made up of one or more keywords, separated
  301.         by slashes, and without any spaces between them.  The valid
  302.         keywords are:
  303.  
  304.         LACE    forces the screen to be interlaced
  305.  
  306.         NOLACE  forces the screen not to be interlaced
  307.  
  308.         PUBLIC  makes the screen public (AmigaOS Release 2 only)
  309.                 The name specified by PORTNAME will be used as
  310.                 the public screen name. (Or HAMLAB will be used
  311.                 if you don't specify a name.)
  312.  
  313.         COLORS  allows you to specify the four colors to be used
  314.                 on the HAMLAB PLUS screen.  The colors are specified
  315.                 as three hex digits (0-f) each (r, g, b), and each
  316.                 color is separated by a slash.
  317.  
  318.                 If you are running AmigaOS 1.3, and you tell HAMLAB
  319.                 PLUS to open a new screen without specifying the
  320.                 colors to use, HAMLAB PLUS will use colors close to
  321.                 the default 2.0 colors.  If you are running AmigaOS
  322.                 Release 2 and don't specify the colors, HAMLAB PLUS
  323.                 will copy them from the Workbench screen.
  324.  
  325.         HAMLAB PLUS doesn't allow a lot of screen options.  The size
  326.         will always be cloned from the Workbench screen (adjusted by
  327.         LACE or NOLACE), and the depth will always be 2 bit planes
  328.         (4 colors).
  329.  
  330.         If neither LACE nor NOLACE are specified, the screen will
  331.         use the current Workbench screen's interlace setting.
  332.  
  333.         Example:        SCREEN LACE/PUBLIC/COLORS/000/fff/aaa/69b
  334.  
  335.         CONVERT <pattern ...>
  336.  
  337.         This option causes HAMLAB PLUS to be run in "simple batch
  338.         mode."
  339.  
  340.         In this mode, HAMLAB PLUS will attempt to load and save each
  341.         file that matches the AmigaDOS wild card pattern(s) you enter.
  342.         When all files are processed, HAMLAB PLUS will exit.
  343.  
  344.         You will not be able to change any HAMLAB PLUS settings during
  345.         the batch operation.  The only way to control them is to
  346.         load them from a config file before the batch starts. (This is
  347.         where the SETTINGS option is useful.)
  348.  
  349.         Each converted file will be saved in the output directory
  350.         specified in your configuration file.
  351.  
  352.         CONVERT must always be the last option on the command line.
  353.         The rest of the command line is treated as filename patterns
  354.         for the CONVERT process.
  355.  
  356. Command line examples:
  357.  
  358.         1> HamLabPlus PORTNAME HLPLUS SCREEN LACE
  359.         1> HamLabPlus SETTINGS hires.config CONVERT incoming:#?.gif
  360.  
  361. ENVIRONMENT VARIABLE (AmigaOS 2.x ONLY)
  362.  
  363. Under AmigaOS 2.x, you can use the SetEnv CLI command to put common
  364. HAMLAB PLUS command line options into the HAMLABARGS variable.  For
  365. example:
  366.  
  367.         1> SetEnv HAMLABARGS PUBSCREEN MyPublicScreen
  368.         1> HamLabPlus
  369.         [hl+ opens on MyPublicScreen]
  370.  
  371. WORKBENCH TOOLTYPES
  372.  
  373. You can also enter HAMLAB PLUS command line options as tool types in
  374. HAMLAB PLUS's icon.  You should note the following:
  375.  
  376.         Tool type keywords should be in upper case.
  377.  
  378.         Only one keyword can be entered per line.
  379.  
  380.         The keyword must be followed by an equals sign and a value.
  381.         (For keywords that take no value, just enter a space.)
  382.  
  383. Examples:
  384.  
  385.         PORTNAME=HLPLUS
  386.         SCREEN=LACE/PUBLIC/COLORS/000/fff/aaa/69b
  387.  
  388. THE MAIN WINDOW
  389.  
  390. The main window is always visible when HAMLAB PLUS is running.
  391.  
  392. There are two text display areas across the top of the main window,
  393. labeled "Input" and "Output."  These display the name, size, and
  394. format of the input and output images, respectively.
  395.  
  396. Between the two text areas is a column of four buttons, each of which
  397. brings up another window full of controls.  One thing to note: these
  398. windows are "modeless," which means that you can still use any other
  399. window while they are open.  If you have enough screen space, you may
  400. find room to arrange them the most commonly used windows are all
  401. accessable at the same time.
  402.  
  403. The "Change Output Mode..." button below the "Output" area brings up
  404. another control window.
  405.  
  406. The next row of controls in the main window is for HAMLAB PLUS's
  407. cropping and scaling features.
  408.  
  409. Cropping
  410.  
  411. Cropping cuts out a rectangular area of an image and is useful for
  412. removing borders or working on pieces of a large image.
  413.  
  414. HAMLAB PLUS can crop an image twice: once as it reads the original
  415. image from disk ("input cropping") and once as it saves or displays
  416. an image ("output cropping").  There are advantages and disadvantages
  417. to both: the earlier an image is cropped, the less memory and time
  418. later operations will take.  On the other hand, the later an image is
  419. cropped, the fewer steps have to be recalculated if the cropping is
  420. changed.
  421.  
  422. In general, input cropping is useful for working on small sections of
  423. very large images, which may be impractical to process as a whole
  424. due to excessive memory requirements or long processing time.  Output
  425. cropping is useful for adjusting the borders of an image.
  426.  
  427. Input and Output crop share the same keyboard shortcuts.  The I and O
  428. keys will switch the other shortcut key meanings from one type of
  429. cropping to the other. (The underlines on the screen show the current
  430. shortcuts.)
  431.  
  432. Both cropping control areas allow you to define the cropping area by
  433. entering the width and height of the cropped area, and/or entering the
  434. upper left "UL" and lower right "LR" corners of the cropping area.
  435. You can reset a cropping area to the full image size with the "Full
  436. Size" button.
  437.  
  438. In addition, while displaying an image, you can define a new Output
  439. Crop area by holding down the shift key and holding down the left
  440. mouse button to drag a rectangle on the screen.  When you release the
  441. mouse button, the screen will be closed and the new cropping area will
  442. be entered into the gadgets.  If you then hit the Display button, it
  443. will reselect a palette and display the cropped area.
  444.  
  445. Scaling
  446.  
  447. Between the two cropping controls is the scaling control area.
  448. HAMLAB PLUS can scale in image independently in the X and Y
  449. directions to anything from 10% to 1000% of its original size.
  450.  
  451. You can scale an image either by percentages or by the desired output
  452. size.  The "%" buttons allow you to control this independently for X
  453. and Y scaling.  The ">>" buttons cycle through a few commonly used
  454. scaling values as follows:
  455.  
  456.         X:      50%, 100%
  457.  
  458.         Y:      50%, 100%, 200%
  459.  
  460. These scaling values are also coded to run faster than other values.
  461.  
  462. The "Constrained" setting causes one scaling factor to change when you
  463. change the other.  For example, if you double the X scaling value, the
  464. Y scaling value would double, too.
  465.  
  466. Messages
  467.  
  468. Extending across the width of the main window is a three line message
  469. area where informational and error messages from different operations
  470. will be displayed.  Older messages will scroll off the top.
  471.  
  472. Main Buttons
  473.  
  474. Finally, we get to the main functions of HAMLAB PLUS.  These six large
  475. buttons at the bottom of the main window control the main functions.
  476.  
  477. OPEN
  478.  
  479. This function brings up a file requester, allowing you to select a
  480. file.  HAMLAB PLUS will attempt to identify the file and, if
  481. successful, load an input filter program, which will start processing
  482. the file and return some basic information about the size and
  483. (optionally) the depth of the image.
  484.  
  485. Occasionally, some additional buffering must be done by the input
  486. filter.  This usually occurs when the image is stored in some kind of
  487. order other than the top-to-bottom scanline order that HAMLAB PLUS
  488. expects.  If buffering is needed, a progress window will indicate the
  489. progress of the buffering and allow you to cancel it.
  490.  
  491. There are two kinds of HamLab filters:
  492.  
  493.         "new" filters for HamLab 2.x
  494.  
  495.         "old" filters for HamLab 1.x (will work with HamLab 2.x)
  496.  
  497. New filters have lower overhead than old filters and should generally
  498. be faster.  They also provide HAMLAB PLUS with more information.  For
  499. example, old filters cannot send messages to the HAMLAB PLUS window.
  500.  
  501. EXPORT
  502.  
  503. This function allows HAMLAB PLUS to export 24-bit data, after it has
  504. been scaled and color-corrected, through a separate "exporter"
  505. program, which can save it in some 24-bit format.
  506.  
  507. The export button brings up a scrolling list, from which you pick the
  508. exporter you wish to use.  HAMLAB PLUS will run that exporter program,
  509. which will usually display a file requester, allowing you to choose
  510. the name of the file to be saved.  A progress window indicates the
  511. progress of the export function and allows you to cancel it.
  512.  
  513. DISPLAY
  514.  
  515. This button starts the display operation.  Depending on your settings,
  516. a great deal of calculations may be required to go from the original
  517. image to something that can be displayed, so this function can take a
  518. while.  As usual, a progress window is displayed, giving you a chance
  519. to cancel the operation.
  520.  
  521. Once HAMLAB PLUS has done enough calculating to start displaying data,
  522. it will bring a display screen to the front and start rendering into
  523. it.  You don't have to wait for rendering to complete before you can
  524. abort, pan, crop, or start saving the display.
  525.  
  526. HAMLAB PLUS uses two memory or disk "caches" to save intermediate
  527. results from prior operations, to minimize unnecessary recalculation.
  528. Cache controls are explained later.
  529.  
  530. Closing the Display
  531.  
  532. To close the display, click the right mouse button or press the
  533. space bar in the display screen.
  534.  
  535. Panning the Display
  536.  
  537. To pan the display (i.e. scroll to a different area of the image),
  538. either use the arrow keys or press and hold the left mouse button
  539. and drag in the direction to pan.
  540.  
  541. Cropping the Display
  542.  
  543. To crop the display, press and hold the shift key. (The cursor will
  544. turn into a cross-hair.)  Then position the mouse to one corner of
  545. the desired cropped area, press and hold the left mouse button, and
  546. drag out a rectangle to the other corner.  When you release the
  547. mouse button, the display will close and the output cropping area
  548. will be updated.
  549.  
  550. Saving from the Display
  551.  
  552. As long as the display screen is open, you can save its contents
  553. very quickly because no additional rendering calculations are
  554. required.   You may even start saving the picture before it has
  555. completed displaying by pressing the 'S' key in the display window.
  556. This will bring up the usual save file requester, then the save
  557. operation will catch up to the display.  After that, each line will
  558. be displayed and saved at the same time.
  559.  
  560. SAVE
  561.  
  562. This button starts the save operation. It first brings up a file
  563. requester to allow you to specify the name of the file to be saved.
  564.  
  565. Like the display operation, the amount of processing required may vary
  566. depending on how your caches are configured and how many settings
  567. you've changed since the last operation.
  568.  
  569. REVERT
  570.  
  571. This button reverts all settings to those which were used the last
  572. time you successfully displayed, saved, or exported an image.  It is
  573. useful if you accidentally change a setting that would cause
  574. everything to be recalculated.
  575.  
  576. CLEAR
  577.  
  578. This button releases all memory and/or temporary disk files associated
  579. with the current image, and unloads the input filter program.
  580.  
  581. THE ABOUT WINDOW
  582.  
  583. This window displays some copyright and version information, plus it
  584. also displays the amount of free memory (as two numbers: chip / fast),
  585. the amount of storage in use (two numbers: memory (fast) and temporary
  586. disk space), and the current AREXX port ID.
  587.  
  588. Note that the amount of storage in use is only what is in use by the
  589. caches, if any.  This doesn't count anything like CHIP memory used for
  590. a display, or any of the many short-lived buffers that HAMLAB PLUS
  591. will use for its processing.
  592.  
  593. THE CONFIGURATION WINDOW
  594.  
  595. This window allows you to control some miscellaneous configuration
  596. items.
  597.  
  598. Fix HAM Scrolling
  599.  
  600. Turning this setting on will make HAM images larger than the screen
  601. more usable by fixing the glitches that develop down the left edge of
  602. the image if you scroll the picture so that real left edge of the
  603. image is not visible.  This option will slow down scrolling somewhat.
  604.  
  605. This option does not affect the way an image is saved, only how
  606. it is displayed.
  607.  
  608. Beep after long functions
  609.  
  610. This setting will cause HAMLAB PLUS to beep and flash the screen
  611. after a Display, Save, or Export function has completed.
  612.  
  613. Ask before abandon
  614.  
  615. Turning this setting on will suppress the "Abandon current image?"
  616. requesters that would normally apper if you are about to discard
  617. all your work on an image without saving it.
  618.  
  619. 12-bit cache
  620.  
  621. This setting controls the maximum allowable size of 12-bit image data
  622. that will be kept in memory or on disk.  Two numbers are entered here,
  623. separated by a slash.  The first is the maximum size of a memory
  624. cache.  The second is the maximum size of a temporary disk file.  Both
  625. sizes are in bytes.  HAMLAB PLUS needs two bytes for every pixel of
  626. in a 12-bit cache.
  627.  
  628. You may set either or both sizes to zero.  This won't require any
  629. memory, but will mean that every pass will require more calculations
  630. because HAMLAB PLUS must restart earlier in the process.
  631.  
  632. 24-bit cache
  633.  
  634. This setting controls the maximum allowable size of the 24-bit image
  635. data that will be kept in memory or on disk.  As above, the two
  636. numbers control the maximum memory and disk size in bytes.  HAMLAB
  637. PLUS needs 3 bytes for each pixel in a 24-bit cache.
  638.  
  639. For more information about how the caches are used, see THE HAMLAB
  640. PLUS PIPELINE later in this document.
  641.  
  642. Note: Both caches will attempt to use a single large block of memory.
  643. If you wish to keep your caches in memory, but don't have large
  644. enough areas available, consider setting the temporary path to the
  645. RAM disk and use "disk" caches instead.
  646.  
  647. Temporary path
  648.  
  649. This setting specifies the directory where temporary disk cache files
  650. will be stored.
  651.  
  652. Filter path
  653.  
  654. This setting specifies the directory where filters and exporters are
  655. located.
  656.  
  657. Pipe device
  658.  
  659. This setting specifies the name of the pipe device.  The pipe device
  660. is only used when reading an image with a HamLab 1.x ("old") input
  661. filter.
  662.  
  663. Normally this should be set to "PIPE:" but you may wish to use a
  664. different named pipe device for improved performance.
  665.  
  666. AREXX console
  667.  
  668. This setting specifies the console window to be used for AREXX.  A
  669. console window specification looks like:
  670.  
  671.         CON:left/top/width/height/title/flags
  672.  
  673. See "Using the Amiga System Software" (the AmigaDOS User's Manual)
  674. for more information on how to specify a console window.
  675.  
  676. Load
  677.  
  678. Displays the file requester and allows you to select a new config file
  679. for loading.  All commands in the config file will be applied, and
  680. the associated settings will be changed.
  681.  
  682. Note that a config file can change any number of settings, so the
  683. "Load" operation does not reset everything before loading a new
  684. configuration.
  685.  
  686. Save
  687.  
  688. Saves some of the current values (generally those in the output
  689. window) to a new config file.  See the command reference docs for
  690. information on exactly which settings are saved.
  691.  
  692. In general, this command saves the settings that are likely to change
  693. from image to image. It is appropriate for defining commonly used
  694. groups of settings.
  695.  
  696. Save All
  697.  
  698. Saves all current values (except cropping, which is reset when a new
  699. picture is opened) to a new config file.
  700.  
  701. This command saves everything including the more permanent
  702. configuration settings, i.e. the ones that you rarely change.  It is
  703. appropriate for updating your main config file.
  704.  
  705. Scan Filters
  706.  
  707. This function scans the directory specified by the "Filter Path"
  708. setting for HamLab filters (new style only) and exporters.  For each
  709. filter or exporter program it finds, the program will be automatically
  710. queried and the information that it returns will be stored just as if
  711. it had been read from a config file.
  712.  
  713. The procedure to add new filters and exporters is simple: drop the
  714. filter into the filterpath directory, run HamLab Plus, click on
  715. "Scan Filters," then click on "Save All" and replace the old config
  716. file.
  717.  
  718.  
  719. THE COLOR CONTROL WINDOW
  720.  
  721. HAMLAB PLUS can apply color correction to an image using "color
  722. response curves."  These "curves" are really look-up tables that
  723. apply separately to the 8-bit red, green, and blue values that make
  724. up a 24-bit image.
  725.  
  726. By default, the color response curves map each input value to an
  727. identical output value (0 -> 0, 1 -> 1, 2 -> 2, ...) so that they
  728. have no effect.  Changing that mapping allows you to control things
  729. like brightness and contrast independently for red, green, and blue.
  730.  
  731. The color control window allows you to manipulate the color response
  732. curves.  You can draw the curves by hand, or use the controls in this
  733. window to modify them
  734.  
  735. The three buttons above each curve control which curves are active.
  736. Only active curves can be drawn into or affected by the controls.
  737. Note that when you draw in one active area, all active curves are
  738. affected.
  739.  
  740. Contrast
  741.  
  742. This controls the slope of the active curve(s).  A steeper slope
  743. results in a more contrasty image. ('+' means "make steeper")
  744.  
  745. Brightness
  746.  
  747. This moves the active curve(s) up and down without changing slope.
  748. Moving a curve up will increase the brightness of the image.
  749.  
  750. Gamma
  751.  
  752. This modifies the active curve(s) in a nonlinear fashion.  'C' stands
  753. for Compensate, and 'U' for Uncompensate.  These buttons will modify
  754. the curve by the factor to their right, which can be any number
  755. between 0.1 and 9.9.  (You must enter a digit, period, digit here.)
  756.  
  757. Compensating with a gamma greater than one will tend to increase the
  758. contrast of darker areas while decreasing the contrast of lighter
  759. areas.  This can do wonders to bring out details lost in shadow
  760. without destroying the brighter areas of an image.
  761.  
  762. Uncompensating with a gamma greater than one will have the opposite
  763. effect: contrast in shadows will be diminished, while contrast in
  764. highlights will be enhanced.
  765.  
  766. Negate
  767.  
  768. This turns all active curve(s) upside-down, resulting in output that
  769. looks like a photographic negative.  A nice gee-whiz feature, but
  770. probably not terribly useful.
  771.  
  772. Smooth
  773.  
  774. This button smooths out some of the bumps in the active curve(s).  You
  775. can hold this button down and the curves will get progressively
  776. smoother.
  777.  
  778. Init
  779.  
  780. This button resets all active curves to initial 45-degree line, so
  781. that they basically have no effect on the image.
  782.  
  783. Load
  784.  
  785. This button allows the active curve(s) to be loaded from disk.  They
  786. can be loaded from either a HamLab format text file, or from the CLUT
  787. chunks of some 24-bit IFF files.
  788.  
  789. Save
  790.  
  791. This button saves ALL curves (not just the active ones) to a HamLab
  792. format text file.
  793.  
  794. Monotonic
  795.  
  796. This button will fill in the holes in the active curve(s) so that the
  797. curve is either always increasing or always decreasing.  In other
  798. words, it prevents the same curve from going both up and down.
  799.  
  800. Step Size
  801.  
  802. This setting controls how "fast" the contrast and brightness controls
  803. work.  The higher the number selected, the faster (but coarser) they work.
  804.  
  805. THE OUTPUT MODE WINDOW
  806.  
  807. This window controls all of the different output options of
  808. HAMLAB PLUS.  One thing to note: the "Output" text area in the main
  809. window displays a "shorthand" version of most of the information in
  810. this window.
  811.  
  812. Some controls should be obvious: resolution, interlace, and bit planes
  813. are all straightforward.  Illegal combinations like hi-res HAM are not
  814. allowed.
  815.  
  816. Palette Mode
  817.  
  818. The palette mode controls whether this is a normal image (i.e. one
  819. palette is chosen for the whole image), or whether the image is
  820. "sliced," which means that the Amiga's custom chips are used to change
  821. some of the color palette in mid-screen.  You have the option of
  822. changing anywhere between 1 and 15 colors in each slice. (A slice is a
  823. single line on a non-interlaced screen or two lines on an interlaced
  824. screen.)
  825.  
  826. Slicing 15 colors is the old "SHAM" technique, which can have
  827. problems, depending on how much your display is overscanned and
  828. whether you are running in PAL.  Slicing 7 colors should work
  829. properly in all display modes under all conditions on all machines.
  830.  
  831.   SEVEN COLORS IS THE MOST YOU CAN SLICE WHILE REMAINING COMPLETELY
  832.   COMPATIBLE WITH ALL AMIGAS.
  833.  
  834. Additionally, you can "freeze" a palette once it has been selected, so
  835. that it will be used for subsequent images, skipping the lengthy step
  836. of picking a new palette.
  837.  
  838. You cannot freeze the palette of a sliced picture.
  839.  
  840. Finally, you can load and save a palette.  Loading a palette will also
  841. freeze it.  Saving a palette is only possible when you're not using a
  842. sliced mode.
  843.  
  844. Palettes are saved as IFF files that can be read by other programs,
  845. Dpaint IV, for example.
  846.  
  847. Save Mode
  848.  
  849. This controls how a "sliced" image is saved as an IFF file.
  850.  
  851. PCHG will write a "multi-palette" file, a new standard, which was
  852. developed by Sebastiano Vigna, the author of Mostra, a shareware
  853. all-purpose IFF display program.  Mostra versions 1.07 and later can
  854. display multi-palette files.
  855.  
  856. SHAM writes a "SHAM" (Sliced HAM) file.  Non-HAM files may be saved
  857. with this mode, but I doubt if anything will handle them correctly.
  858.  
  859. "Dynamic" writes a "dynamic" file, with the information expected by a
  860. program like Dyna-Show or DynaMate.  Again, any file may be saved with
  861. this mode, but only HAM and 4 bitplane hi-res are likely to be
  862. supported by other programs.
  863.  
  864. You can check more than one save mode at a time.  This will save the
  865. same information up to three different ways in the same IFF file.
  866. (Using three different IFF "chunks".)  This lets you save a single
  867. picture with SHAM or dynamic information for older viewers and PCHG
  868. for modern viewers.
  869.  
  870. Lock Background
  871.  
  872. This option forces HAMLAB PLUS to use the background color of the
  873. original image as the background/border color of the output image.
  874. If this is unchecked, then HAMLAB PLUS will pick a palette without
  875. regard to the original background color, then use the closest match
  876. to the original background as the output background/border color.
  877.  
  878. 24->12 Dither
  879.  
  880. This selects the type of dithering used to reduce a 24-bit image to a
  881. 12-bit image.  The following choices are available:
  882.  
  883. None            No dithering
  884. Floyd-Steinberg Serpentine error diffusion to 4 adjacent pixels
  885. Jarvis          Serpentine error diffusion to 12 adjacent pixels
  886. Stucki          Slightly different 12-pixel error diffusion
  887. Ordered         Dispersed dot ordered dither
  888. Random          Random dither
  889. Spiral-Dot      Clustered dot ordered dither
  890.  
  891.  
  892. 12->Display Dither
  893.  
  894. This selects the type of dithering used to reduce a 12-bit image to
  895. the small number of colors (2-64) actually used in the output.  This
  896. has no effect on HAM images.  The following choices are available:
  897.  
  898. None            No dithering
  899. Floyd-Steinberg Serpentine error diffusion to 4 adjacent pixels
  900. Jarvis          Serpentine error diffusion to 12 adjacent pixels
  901. Stucki          Slightly different 12-pixel error diffusion
  902.  
  903. Why two different dithering controls?  The reason has to do with the
  904. two step process HAMLAB PLUS uses to go from 24-bit data to something
  905. that the Amiga can display.  (More details on this are in the
  906. following section.)  These two steps are:
  907.  
  908. 1) Reduce the picture to the Amiga's 4096-color (12-bit) palette
  909. 2) Reduce the picture to the number of colors that the Amiga can
  910.    actually display at one time.
  911.  
  912. Here's an example:  Let's say we start with a 24-bit image that
  913. contains, among other things, 200 different intensities of pure blue.
  914. For the first step, we must reduce the number of blues to 15, because
  915. that's all we can represent with only 4 bits to control the blue.
  916. For the second step, we may only be able to display 16 colors for the
  917. entire image, and perhaps that leaves us with only 3 different blues
  918. in our final palette, so the second step must reduce the number of
  919. blues from 15 to 3.
  920.  
  921. In both steps, dithering helps prevent "banding," which can happen
  922. when gradual color changes (like our original 200 blues) are
  923. represented with only a few (in this case, 15 or 3) colors.
  924.  
  925. The two dithering steps can be controlled independently because
  926. dithering takes time, and sometimes one or both steps are unnecessary.
  927. For example, if you want to convert an Amiga HAM picture to hi-res,
  928. then 24->12 dithering is not necessary because the picture already
  929. has a 12-bit palette, but 12->display dithering may be very helpful
  930. because we're going from 4096 possible colors to only 16.
  931.  
  932. One Step Dither
  933.  
  934. Finally, there is one more option which changes the way HAMLAB PLUS
  935. dithers.  Selecting the "One Step Dithering" control does two things:
  936.  
  937. 1.  It causes the 24->12 dither setting to be ignored
  938. 2.  It uses the 12->display dithering method, but goes from 24-bit
  939.     data direct to the display in one step.
  940.  
  941. Dithering in one step is more accurate than doing it in two steps,
  942. since some information is lost by keeping only a 12-bit intermediate
  943. value for the two step process.  However, one-step dithering means
  944. that the 24-bit data must be accessed more often, so it is probably
  945. not practical to use unless you are using a 24-bit cache.
  946.  
  947. One-step dithering has no effect on HAM images.
  948.  
  949. THE AREXX CONSOLE
  950.  
  951. This window allows you to enter AREXX commands by name.  You can enter
  952. a HamLab AREXX command, or the name of an AREXX macro.
  953.  
  954. HamLab AREXX macros are stored in the REXX: directory and end with
  955. ".hl"
  956.  
  957. Examples:
  958.  
  959. CMD> message "hello there"
  960. (displays "hello there" in the message area)
  961.  
  962. CMD> foobar
  963. (since there is no built-in foobar command, this attempts to run
  964. REXX:foobar.hl)
  965.  
  966. See the command documentation for a complete list of AREXX commands
  967. and their syntax.
  968.  
  969. AREXX FUNCTION KEYS
  970.  
  971. HamLab Plus also allows you to execute AREXX macros using function
  972. keys when the main window is active.  The F1 key will execute
  973. "F1.hl", F2 will execute "F2.hl", and so on.  The Control, Alt, and
  974. Shift keys will modify the name of the command to be executed by
  975. adding a 'c', 'a' or 's' to the beginning of the file name, so
  976. Control-Alt-Shift-F10 will execute the macro named "casF10.hl"
  977.  
  978. THE HAMLAB PLUS PIPELINE AND CACHES
  979.  
  980. HAMLAB PLUS does all of its processing in a "pipeline" fashion,
  981. which means that all operations happen in a particular order, with
  982. the output of an earlier step serving as the input of the next step.
  983. HAMLAB PLUS also does all operations in a fixed order.  While this
  984. loses some flexibility, it does avoid one major limitation: memory.
  985. HAMLAB PLUS can work on practically any size image, and, at a minimum,
  986. only needs to keep about one or two scan lines of that image in memory
  987. at one time.
  988.  
  989. This does mean that some things have to be done twice.  For normal
  990. processing, HAMLAB PLUS must first process the entire image to choose
  991. a palette, then make a second pass on the same image to convert it to
  992. that palette.  This would mean that practically all of the steps in
  993. HAMLAB PLUS's process, from reading the original image, through all
  994. cropping, scaling, dithering, etc., would be done twice.
  995.  
  996. HAMLAB PLUS does allow a way to avoid a lot of repitition, if you have
  997. either memory or disk space sufficient to hold an image.  It does this
  998. by using two caches, which are temporary 12- and/or 24-bit images held
  999. at certain points in the pipeline, and saved either in memory or on
  1000. disk.  Using a cache means that after HAMLAB PLUS has selected a
  1001. palette, it doesn't need to go all the way back to the original image
  1002. to be able to display it.  Instead, it need only go back to the
  1003. 12-bit cache, which holds the image after much of the processing has
  1004. already been done.
  1005.  
  1006. If you use caches, they will stick around until you exit the program
  1007. or use the Clear function, or until you change a setting which means
  1008. that some processing upstream of the cache must be re-done.
  1009.  
  1010. Here is the order in which HAMLAB PLUS does its operations (top to
  1011. bottom).  Where the caches fall in this order is also shown.
  1012.  
  1013.         reading original image from disk
  1014.  
  1015.         input cropping
  1016.  
  1017.         [24-bit cache]
  1018.  
  1019.         scaling
  1020.  
  1021.         color correction
  1022.  
  1023.     Here is where an exporter fits in -- it takes 24-bit data after
  1024.     scaling and color correction, and saves it in a file.
  1025.  
  1026.         reducing to a 12-bit image (possibly with dithering)
  1027.  
  1028.         [12-bit cache]
  1029.  
  1030.         palette color selection
  1031.  
  1032.         rendering to display or output file (possibly with dithering)
  1033.  
  1034. From this pipeline, we can see that if we're using both 12-bit and
  1035. 24-bit caches, then if we change the display mode (meaning we need to
  1036. choose a new palette) then we only need to go back as far as the
  1037. 12-bit cache to calculate a new palette.  However, if we change the
  1038. size of the picture, then we have to go back to the 24-bit cache,
  1039. resize the picture, and build a new 12-bit cache.
  1040.  
  1041.